﻿layui.use(function () {
    var $ = layui.$;
    var layer = layui.layer;
    var util = layui.util;
    var form = layui.form;
    var table = layui.table;

    var token = localStorage.getItem("token");
    console.log(token)
    var selectedRows = [];

    //显示表格
    function GetRefund(pageNum) {
        var dto = {
            Token: token,
            pindex: 1,
            psize: 100,
            refundCode: $("#RefundCode").val(),
            procurementCode: $("#ProcurementCode").val(),
            productsName: $("#ProductsName").val(),
        };
        console.log(dto);
        // 发送Ajax请求
        $.ajax({
            url: '/Refund/GetRefund',  // 这里填上你的后端接口地址
            type: 'get',
            data: dto,
            success: function (response) {
                var res = JSON.parse(response);
                console.log(res);
                if (res != null) {
                    // 渲染表格
                    table.render({
                        elem: '#refund-table',
                        cols: [[
                            { type: 'checkbox', fixed: 'left' },
                            { field: 'refundCode', title: '退货单号', width: 150, fixed: 'left', },
                            { field: 'productsName', title: '产品名称', width: 120 },
                            { field: 'productsCode', title: '产品编号', width: 120 },
                            { field: 'specs', title: '产品规格', width: 120 },
                            { field: 'storageUnits', title: '单位', width: 100 },
                            { field: 'price', title: '单价', width: 100 },
                            { field: 'refundNum', title: '退货数量', width: 100 },
                            {
                                field: 'sign',
                                title: '总额',
                                width: 150,
                                templet: function (d) {
                                    return (d.refundNum * d.price); // 保留两位小数
                                }
                            },
                            { field: 'procurementCode', title: '采购单号', width: 120 },
                            { field: 'vendorName', title: '供应商名称', width: 170 },
                            {
                                field: 'addTime',
                                title: '创建时间',
                                width: 120, 
                                templet: function (d) {
                                    // 假设 addTime 是一个时间戳，转换为年月日格式
                                    var date = new Date(d.addTime);
                                    var year = date.getFullYear();
                                    var month = (date.getMonth() + 1).toString().padStart(2, '0');
                                    var day = date.getDate().toString().padStart(2, '0');
                                    return year + '-' + month + '-' + day; // 返回 'YYYY-MM-DD' 格式
                                }
                            },
                            {
                                field: '',
                                title: '操作',
                                width: 100,
                                templet: function (d) {
                                    // 这里的d是每一行的数据对象
                                    return '<a lay-on="test-page" id="detail" data-refundId="' + d.refundId + '">查看 </a>' +
                                        '<a lay-on="test-del" id="del" data-refundId="' + d.refundId + '">删除 </a>'
                                }
                            },
                        ]],
                        data: res.data.list,  // 数据源
                        page: true,   // 启用分页
                        limit: 10,    // 每页显示多少条数据
                        limits: [10, 20, 30],  // 分页选择项
                        curr: pageNum,  // 当前页
                        total: res.data.lcount,  // 总记录数
                        loading: true, // 启用加载状态
                        toolbar: "#toolbarDemo",
                        defaultToolbar: ['exports']
                    });

                    // 渲染分页控件
                    var totalPages = Math.ceil(res.lcount / 10);  // 计算总页数
                    layui.laypage.render({
                        elem: 'pagination',
                        count: res.lcount,  // 总记录数
                        limit: 10,
                        curr: pageNum,
                        jump: function (obj, first) {
                            if (!first) {
                                Getprocurement(obj.curr);  // 不为第一次调用时，重新渲染表格
                            }
                        }
                    });
                }
            },
            error: function (xhr, status, error) {
                console.log('请求失败: ' + error);
            }
        });
    }


    // 初次加载表格数据
    GetRefund(1)


    //查询
    $("#searchBtn").click(function () {
        GetRefund(1)
    })


    //复选框
    table.on('checkbox(refund-table)', function (obj) {
        console.log(obj);
        // 当前选中的行加入到 selectedRows 数组中
        if (obj.checked) {
            selectedRows.push(obj.data);
        }
        else {
            // 当前取消选中的行从 selectedRows 数组中移除
            selectedRows = selectedRows.filter(row => row.productsID !== obj.data.productsID);
        }
        console.log(selectedRows)
    })


    //查看详情
    $(document).on('click', '#detail', function () {
        var refundId = $(this).attr('data-refundId');  // 获取按钮上设置的采购ID
        console.log(refundId);
        //打开弹框
        var index = layer.open({
            type: 1,
            area: ['750px', '400px'], // 宽高
            content: '<table style="width:650px;height:300px; margin-left:45px">' +
                '<tr>' +
                '<td>退货单号:</td>' +
                '<td id="refundCode"></td>' +
                '<td style="width:100px">关联单号：</td>' +
                '<td id="associateNumber" style="width:100px">8546</td>' +
                '<td style="width:100px">产品名称：</td>' +
                '<td id="productsName"></td>' +
                '</tr>' +
                '<tr>' +
                '<td>制单日期：</td>' +
                '<td id="markTime"></td>' +
                '<td>制单人：</td>' +
                '<td id="makePerson"></td>' +
                '<td>电话：</td>' +
                '<td id="phone"></td>' +
                '</tr>' +
                '<tr>' +
                '<td>联系人:</td>' +
                '<td id="pcontact"></td>' +
                '<td>供应商名称：</td>' +
                '<td id="vendorName"></td>' +
                '</tr>' +
                '</table>',
            success: function (lay, index) {
                form.render();
            }
        });
        $.ajax({
            url: '/Refund/GetRefundDetail',
            type: "get",
            data: {
                Token: token,
                refundId: refundId
            },
            success: (ress) => {
                var res = JSON.parse(ress);
                console.log(res);
                $(res.data).each(function () {
                    $("#refundCode").text(this.refundCode);
                    $("#associateNumber").text(this.associateNumber);
                    $("#productsName").text(this.productsName);
                    $("#markTime").text(this.markTime);
                    $("#makePerson").text(this.makePerson);
                    $("#phone").text(this.phone);
                    $("#pcontact").text(this.pcontact);
                    $("#vendorCode").text(this.vendorCode);
                    $("#vendorName").text(this.vendorName);
                })
            }
        })
    })



    //删除
    $(document).on('click', '#del', function () {
        var refundId = $(this).attr('data-refundId')
        layer.confirm('确认删除吗？', {
            btn: ['确定', '关闭'] //按钮
        }, function () {
            var model = {
                Token: token,
                refundId: [
                    refundId
                ],
                delName: '张三'
            }
            $.ajax({
                url: '/Sales/GetSalesRefundsDel',
                type: 'post',
                data: model,
                success: function (res) {
                    var d = JSON.parse(res);
                    console.log(d);
                    if (d != null) {
                        layer.msg('删除成功', { icon: 1 }, function () {
                            location.reload();
                        });
                    }
                }
            })
        }, function () {
            // 关闭框第二个回调
            layer.msg('操作已取消', {
                time: 2000 // 2秒后自动关闭
            });
        });
    })



    //批量删除
    $(document).on('click', '#bathdel', function () {
        if (selectedRows.length == 0) {
            layer.msg('至少选择一个要删除的数据');  // '5' 是警告图标
            return;
        }
        var refundId = selectedRows.map(function (row) {
            return row.refundId;
        });
        console.log(refundId)
        layer.confirm('确认删除吗？', {
            btn: ['确定', '关闭'] //按钮
        }, function () {
            var model = {
                Token: token,
                refundId: refundId,
                delName: '张三'
            }
            $.ajax({
                url: '/Sales/GetSalesRefundsDel',
                type: 'post',
                data: model,
                success: function (res) {
                    var d = JSON.parse(res);
                    console.log(d);
                    if (d != null) {
                        layer.msg('删除成功', { icon: 1 }, function () {
                            location.reload();
                        });
                    }
                }
            })
        }, function () {
            // 关闭框第二个回调
            layer.msg('操作已取消', {
                time: 2000 // 2秒后自动关闭
            });
        });
    });



})
    